<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>系统对象作业</title>
</head>

<body>
    <script>
        // 作业
        // 一、实现名单随机排序, 并且将随机的名单推进新数组里
        // 需求
        // 1、随机名单不重复

        // 2、名单长度需要和随机名单的数组长度统一
        // 例如:
        //  名单 =  ["同学1", "同学2", "同学3"]
        //  随机名单 =  ["同学3", "同学1", "同学2"]
        // let num = Math.floor(Math.random()*5)
        
        let nameList = ["红同学","橙同学","黄同学","绿同学","蓝同学"];
        let newList = [];
        for(let i = 0 ; i < nameList.length; i++) {
            let num = Math.floor(Math.random()*5);
            // console.log(num);
            //判断新数组中是否包含随机数
            if( newList.indexOf(nameList[num]) == -1) {
                newList.push(nameList[num]);
            } else {
                //如果上面的条件包含了随机数，那么将在这里返回上一层循环
                i--;
            }
        };
        console.log(newList);



        // 二、 实现2021年当前时间距离双十一倒计时功能
        // 需求
        // 1、 时间需要动态更新, 实现倒计时(数据显示在页面或者控制台都可)

        // 2、 时间为个位数的时候需要补零， 例如： 1 秒-- -- -- - > 01 秒

        // 3、如果活动结束, 就不再倒计时,并且显示:"xxxx年活动已经结束!";

        // 例如: 距离双十一活动倒计时还有:xxxx年xx月xx分xx秒
        let endDate = new Date("2021 11 11 00:00:00");//获取双十一的时间
        // console.log(endDate);
        // 封装倒计时函数（下次可直接调用）
        function timefn(endTime) {
            // 获取当前的时间(获取时间戳，因为时间戳是可以转换的)
            let nowDate = new Date();
            //获取剩余多少秒的时间,且取整
            let tDiff = parseInt((endDate.getTime() - nowDate.getTime()) / 1000);

            if(tDiff > 0) {
            //获取剩余年数
            let y = endDate.getFullYear() - nowDate.getFullYear();
            //月
            let mo = endDate.getMonth - nowDate.getMonth;
            //日
            let day = parseInt(tDiff/( 60 * 60 * 24 ));
            // console.log(day);//为什么这里打印NaN
            //小时
            let h = parseInt(tDiff / (60*60) % 24);
            // console.log(h);
            //分
            let m = parseInt(tDiff / 60 % 60);
            //秒
            let s = tDiff % 60;

            //补零
            y = addZero(y), mo = addZero(mo), day = addZero(day), h = addZero(h), m = addZero(m), s = addZero(s);

            console.clear();
            console.log("距离双十一活动倒计时还有:"  + day + "日" + h +"时" + m +"分"+ s +"秒");
            } else {
                console.clear();
                console.log("活动结束！！！");
            }

        }
        timefn();

        //定时器函数
        timer = setInterval(function () {
            timefn(endDate);//调用
        }, 1000);

        //时间补 0 
        function addZero(t) {
            return t < 10? "0" + t : t;
        }

    </script>
</body>

</html>